草庐IT

iphone - NSCFString 内存泄漏

全部标签

c# - XDocument.Load 是否将所有数据加载到内存中?

我必须读取大型xml文件的根节点的所有第一级节点,如下所示:我的代码如下:varxml=XDocument.Load(filename);varfirstNode=xml?.Root?.Descendants()?.FirstOrDefault();varelements=firstNode?.Elements();我只需要获取根的第一个子节点及其所有一级后代。这段代码工作正常,但问题是:这样读安全吗?我猜它不会将所有数据加载到内存中-只有xml文件的结构?如我所见,调试时内存没有增加。只有当我真正尝试查看xml变量中的内容时,它才会爆炸。 最佳答案

iphone - 加载和解析 xml 文档会卡住我在 Iphone 中的 GUI

我正在构建一个应用程序,它将读取rss提要并将它们显示在UITableViews中。我在google和here上搜索,ai决定使用LibXML。当我的应用程序启动时,它会检查它是否具有有效的互联网连接,并获取一个rss提要,我从中提取一些数据并制作一个带有tableView的uiTabBar。在解析第一个rss提要并构建UITabBar之后,对于我的uiTabBar中的每个按钮,我都有一个不同的rss提要(类别)。当我拥有良好的互联网连接(wifi)甚至3G时,我的应用程序运行得非常好,但当互联网连接出现问题时,我的应用程序也会出现问题。因为我一个接一个地解析所有提要,在主线程中GUI

xml - iPhone 访问本地 XML 文件

我有一个从URL解析XML的iPhone应用程序。我的Resources目录(在XCode中)中有一个我想使用的sample.xml文件。如何在代码中引用这个文件?我已经尝试将@"sample.xml"作为URL,但它似乎无法找到它。 最佳答案 首先,请小心将URL作为路径传递,反之亦然-您可能无法轻松地将两者互换。如果必须,请尝试在文件路径前加上file://前缀。至于找到路径,您可以使用NSBundle方法pathForResource:ofType:如下:NSString*xmlFilePath=[[NSBundlemainB

iphone - 在 iPhone 上流式处理 SAX XML 处理

NSXMLParser允许对NSDatablock或来自URL源的SAX解析。问题是这两种方法都需要在解析开始之前知道整个XML源。假设我有一个XML数据流(比如一个NSData对象序列),我想使用NSXMLParser或另一个cocoa类来处理这个流,我怎样才能做到这一点而不需要从整个文档开始? 最佳答案 看看苹果的XMLPerformance示例项目,它使用libxml2执行流式解析。 关于iphone-在iPhone上流式处理SAXXML处理,我们在StackOverflow上找到

c# - 从加载的 xml 中释放内存?

例如,如果您加载一个xml并出于任何原因使用它:XDocumentdoc=XDocument.Load("my.xml");现在您已经使用完它并想释放它使用的任何内存,最初我认为将它设置为null可以完成这项工作,但事实并非如此,那么释放已用内存的正确方法是什么?可能吗? 最佳答案 您正在做正确的事情。让GC担心它何时收集,因为它会在有压力时收集。 关于c#-从加载的xml中释放内存?,我们在StackOverflow上找到一个类似的问题: https://s

iphone - 将图像发送到网络服务

我想将图像从我的应用程序发送到网络服务,为此,我像NSData一样发送数据,但它什么都不做:NSData*imagen=UIImagePNGRepresentation(windowImage);Web服务等待这样的数据:base64Binary要发送这种类型的数据,我知道我需要使用著名的方法“base64Encoding”将NSData转换为NSStringNSData*imagen=UIImagePNGRepresentation(windowImage);NSString*encoded=[imagenbase64Encoding];然后我像SOAP一样发送数据:NSString

python - 有什么方法可以知道 ElementTree DOM 消耗了多少内存?

假设您执行以下操作:dom=ElementTree()dom.parse(some_file_path)我想记录这个dom现在在我的进程中使用的粗略内存量。我不需要精确的东西,粗略的东西就可以了。我认为我无法从源XML文件的大小中得出它。我有一个500KB的文件,如上例所示,它在加载python进程后似乎增加了大约5MB的内存使用量。我查看了ElementTreeAPI,没有看到任何提供此信息的API。有人知道在解析/加载XML文件后了解ElementTree实例使用了多少内存的方法吗? 最佳答案 本质上,您想要查找特定python

sql-server - SSIS 使用过多内存将大型 (40GB+) XML 文件加载到 SQL Server 表中

我需要使用SSIS将一个大型(40GB+)XML文件加载到SQLServer2012数据库表中。我遇到问题是因为SSIS似乎试图将整个文档加载到内存中而不是流式传输它。这是我的SSIS包的更多详细信息。我创建了一个具有以下属性的XML源:数据访问模式:来自变量的XML文件(但可以是XML文件位置)变量名:指定我电脑中XML文件路径的变量。XSD位置:定义正在读取的XML的XSD的路径。XML结构简单,只有3个层级:带有标题信息的根元素一级定义对象集合定义单个对象的叶级别(每个对象都有一组固定的字段)我需要为每个叶元素插入一个数据库记录,从更高层次重复字段。换句话说,我需要展平XML层次

c# - 为什么我的新 XmlTextReader(stream) 以数兆字节读入内存而不是正确地流式传输?

当以XML格式流式传输到XmlReader时,出现内存不足异常!查看内存分析器,我们可以看到它一遍又一遍地调用StringBuilder.Append,导致大量128KB缓冲区填满所有内存。这与“流”完全相反。它不应加载超过一个4KB的缓冲区。 最佳答案 通读.NET源代码,发现有一种“v1compat”模式确实会超前读取,违背了流式传输的目的。那么,如何避免让它进入那种愚蠢的模式呢?事实证明,调用“newXmlTextReader(stream)”和“XmlReader.Create(stream)”之间存在巨大差异,Micros

iphone - 如何使用 NSXMLParser 解析基本的 XML 文件?

我正在尝试为我的iPhone应用找出NSXMLParser,虽然我大致了解它的工作原理,但对于如何提取我需要的值,我仍然有些困惑。我正在解析的XML结果非常基础。是这样的:300TheTitleSomecontent我需要做三件事:获取状态值。从第一条记录中获取内容的值。可能会出现提供多个“记录”元素的响应,因此我只需要获取第一个。我不知道如何简单地做到这一点。我见过的大多数示例都涉及创建一个单独的对象来填充此数据,但我看不出这对于2个值是必要的。谁能告诉我如何将这2条数据拉出并且仅用于第一条记录? 最佳答案 NSXMLParser